package E;

/**
 * 超级数组
 */
public class SuperArray {
    private Object []objects = new Object[0];
    /**
     * 增加元素到数组中
     * @param value
     */
    public void add(Object value){
        Object [] newObjects = new Object[objects.length+1];
        for (int i = 0;i < objects.length;i++){
            newObjects[i] = objects[i];
        }
        newObjects[newObjects.length-1] = value;
        objects = newObjects;
    }

    /**
     * 删除指定下标的元素
     * @param index
     */
    public void remove(int index){
        Object [] newObjects = new Object[objects.length-1];
        for (int i = 0;i < newObjects.length;i++){
            if (i < index){
                newObjects[i] = objects[i];
            }else {
                newObjects[i] = objects[i+1];
            }
        }
        objects = newObjects;
    }

    /**
     * 根据下标获取指定元素
     * @param index
     * @return
     */
    public Object get(int index) {
        return objects[index];
    }

    /**
     * 获取数组长度
     * @return
     */
    public int size(){
        return objects.length;
    }

    public static void main(String[] args) {
        SuperArray ary = new SuperArray();
        ary.add(88);
        ary.add("adsawda");
        ary.add(5555);
        ary.add('s');
        ary.add(2.13);
        ary.remove(1);
        System.out.println(ary.size());
        System.out.println(ary.objects);
        System.out.println(ary.get(1));
        System.out.println(ary.get(3));

        for (int i = 0;i < ary.size();i++){
            System.out.println(ary.get(i));
        }
    }
}
